HipEasing

Credits to https://easings.net as I don't understand most of those functions

Values

ValueMeaning
identity(x) => x
easeInSine(x) => 1 - cos((x * PI) / 2)
easeOutSine(x) => sin((x * PI) / 2)
easeInOutSine(x) => -(cos(PI * x) - 1) / 2
easeInQuad(x) => x * x
easeOutQuad(x) => 1 - (1 - x) * (1 - x)
easeInOutQuad(x) => x < 0.5f ? 2 * x * x : 1 - pow(-2 * x + 2, 2) / 2
easeInCubic(x) => x * x * x
easeOutCubic(x) => 1 - pow(1 - x, 3)
easeInOutCubic(x) => x < 0.5 ? 4 * x * x * x : 1 - pow(-2 * x + 2, 3) / 2
easeInQuart(x) => x * x * x * x
easeOutQuart(x) => 1 - pow(1 - x, 4)
easeInOutQuart(x) => x < 0.5 ? 8 * x * x * x * x : 1 - pow(-2 * x + 2, 4) / 2
easeInQuint(x) => x * x * x * x * x
easeOutQuint(x) => 1 - pow(1 - x, 5)
easeInOutQuint(x) => x < 0.5 ? 16 * x * x * x * x * x : 1 - pow(-2 * x + 2, 5) / 2
easeInExpo(x) => x == 0 ? 0 : pow(2, 10 * x - 10)
easeOutExpo(x) => x == 1 ? 1 : 1 - pow(2, -10 * x)
easeInOutExpo(x) => x == 0 ? 0 : x == 1 ? 1 : x < 0.5 ? pow(2, 20 * x - 10) / 2 : (2 - pow(2, -20 * x + 10)) / 2
easeInCirc(x) => 1 - sqrt(1 - pow(x, 2))
easeOutCirc(x) => sqrt(1 - pow(x - 1, 2))
easeInOutCirc(x) => x < 0.5 ? (1 - sqrt(1 - pow(2 * x, 2))) / 2 : (sqrt(1 - pow(-2 * x + 2, 2)) + 1) / 2
easeInBack(x) => c3 * x * x * x - c1 * x * x
easeOutBack(x) => 1 + c3 * pow(x - 1, 3) + c1 * pow(x - 1, 2)
easeInOutBack(x) => x < 0.5 ? (pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2)) / 2 : (pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2
easeInElastic(x) => x == 0 ? 0 : x == 1 ? 1 : -pow(2, 10 * x - 10) * sin((x * 10 - 10.75f) * c4)
easeOutElastic(x) => x == 0 ? 0 : x == 1 ? 1 : pow(2, -10 * x) * sin((x * 10 - 0.75f) * c4) + 1
easeInOutElastic(x) => x == 0 ? 0 : x == 1 ? 1 : x < 0.5 ? -(pow(2, 20 * x - 10) * sin((20 * x - 11.125f) * c5)) / 2 : (pow(2, -20 * x + 10) * sin((20 * x - 11.125f) * c5)) / 2 + 1
easeInBounce(x) => 1 - HipEasing.easeOutBounce(1 - x)
easeOutBouncefunction float(x)
easeInOutBounce(x) => x < 0.5 ? (1 - easeOutBounce(1 - 2 * x)) / 2 : (1 + easeOutBounce(2 * x - 1)) / 2

Meta